Algorithme de Lloyd-Max
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
En algorithmique et en traitement du signal, l’algorithme de Lloyd-Max est un algorithme qui permet de construire le quantifieur scalaire optimal. C'est donc une méthode pour quantifier un signal en une dimension de manière à minimiser la distorsion, mesurée par l'erreur quadratique moyenne.
L'optimalité du quantifieur est assurée par deux conditions sur les niveaux de reconstruction et de décision, découvertes par Lloyd en 1957. Il fournit aussi un algorithme, qui permet de construire itérativement le quantifieur optimal. L'algorithme peut être étendu à la quantification de vecteurs (algorithme de Linde-Buzo-Gray).
Contents
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Historique
L'algorithme fut développé par Lloyd en 1957, mais n'a pas été publié en revue scientifique. Il fut présenté à l'Institut de Statistiques Mathématiques et la seule version imprimée est un mémorandum technique des laboratoires Bell. L'algorithme resta donc peu connu pendant plusieurs années. Les résultats exposés dans le mémorandum furent redécouverts indépendamment par plusieurs chercheurs. Cependant toutes ces redécouvertes utilisèrent des dérivations différentes de celle utilisée par Lloyd, indispensable pour l'extension du théorème à la quantification de vecteurs et pour plusieurs procédures d'optimisation de quantificateurscite-ref-1[1].
L'algorithme fut notamment redécouvert par Joel Max en 1960cite-ref-2[2].
Algorithme
L'algorithme est initialisé par k points de l'espace d'entrée. Il itère ensuite la procédure suivante:
• calculer le diagramme de Voronoï des k points
• intégrer chaque cellule de Voronoï de manière à en déterminer le centroïde
• chacun des k points est alors déplacé sur les centroïdes
L'algorithme diffère de l'algorithme des k-moyennes au sens où ce dernier agit sur des données discrètes (par exemple un ensemble de points d'un espace vectoriel) alors que l'algorithme de Lloyd-Max peut être appliqué à des données continues (par exemple une densité).
Conditions d'optimalités
Un quantifieur scalaire peut se définir comme un ensemble d'intervalles de l'espace de départ, [ t k ; t k + 1 ] {\displaystyle [t_{k};t_{k+1}]} , où les t i {\displaystyle t_{i}} sont appelés niveaux de décision. On suppose que le quantifieur possède N + 1 {\displaystyle N+1} niveaux de reconstructions r k {\displaystyle r_{k}} , et N + 1 {\displaystyle N+1} niveaux de décision t k {\displaystyle t_{k}} .
Pour une source x {\displaystyle x} de densité de probabilité p X ( x ) {\displaystyle p_{X}(x)} , les conditions d'optimalités sur les niveaux de reconstructions r k {\displaystyle r_{k}} et de décision t k {\displaystyle t_{k}} sont obtenues en minimisant l'erreur de reconstruction (appelée aussi distorsion) :
D = E [ | x − − x ^ ^ | 2 ] {\displaystyle D=E\left[|x-{\hat {x}}|^{2}\right]}
Les conditions d'optimalités sont alors données par :
• t k = r k − − 1 + r k 2 {\displaystyle t_{k}={\frac {r_{k-1}+r_{k}}{2}}} (1)
• r k = ∫ ∫ t k t k + 1 x p X ( x ) ∫ ∫ t k t k + 1 p X ( x ) {\displaystyle r_{k}={\frac {\int _{t_{k}}^{t_{k+1}}xp_{X}(x)}{\int _{t_{k}}^{t_{k+1}}p_{X}(x)}}} (2)
Cas particulier
Dans le cas d'une source uniforme : p X ( x ) = 1 t N − − t 0 {\displaystyle p_{X}(x)={\frac {1}{t_{N}-t_{0}}}} , les conditions d'optimalités se simplifient :
r k = t k + 1 + t k 2 {\displaystyle r_{k}={\frac {t_{k+1}+t_{k}}{2}}}
ce qui donne, en injectant dans (1) :
t k − − t k − − 1 = t k + 1 − − t k = q = c s t e {\displaystyle t_{k}-t_{k-1}=t_{k+1}-t_{k}=q=cste}
Le pas de quantification q {\displaystyle q} est constant, et égale à q = t N − − t 0 N {\displaystyle q={\frac {t_{N}-t_{0}}{N}}} . Les niveaux de reconstruction et de décisions sont alors régis par les règles simples :
• t k = t k − − 1 + q {\displaystyle t_{k}=t_{k-1}+q}
• r k = t k + q 2 {\displaystyle r_{k}=t_{k}+{\frac {q}{2}}}
On retrouve le quantifieur scalaire uniforme, qui est donc optimal pour une source de distribution uniforme.
Voir aussi
Notes et références
Références
• M. Antonini and V. Ricordel. Chapitre Quantification, pp. 45–72. Traité IC2. Hermès, Paris, janvier 2002.
• Robert M. Gray, David L. Neuhoff, Quantization, IEEE Transactions on Information Theory, vol. 44, n°6, pp. 2325-2383, octobre 1998 DOI 10.1109/18.720541
• Source Coding Theory, Robert M. Gray
• S. P. Lloyd, Least squares quantization in PCM, IEEE Transactions on Information Theory, vol. 28, n°2, pp. 129–137, mars 1982 DOI 10.1109/TIT.1982.1056489
• Anil K. Jain, Fundamentals of digital image processing, Prentice Hall, 1989.
• Portail de l’imagerie numérique
• Portail de l'informatique théorique